<?php
    class AppController extends CpController
    {
        public function init(){
            $url = new Url();
            $this->breadcrumbs[] = array('name'=>'QT app','link'=>$url->createUrl("app/index"),'class'=>'');
        }
        public function actionIndex(){
            $row_per_page = 20;
            $keyword = isset($_GET["keyword"]) ? trim($_GET["keyword"]):"";
            $page = isset($_GET["page"]) ? intval($_GET["page"]):1;
            list($max_page,$count,$data) = AApp::getDataSearch($keyword,$page,$row_per_page);
            $this->render("index",array("max_page"=>$max_page,"count"=>$count,"data"=>$data,"keyword"=>$keyword,"page"=>$page));
        }
        public function actionCreate(){
            $this->breadcrumbs[] = array('name'=>'Thêm mới app','link'=>'#','class'=>'active');
            $appId = isset($_POST["appId"])? trim(strip_tags($_POST['appId'])) :0;
            $file_name = AApp::getFilesByAppId($appId);
            $this->render("create",array("file_name"=>$file_name));
        }
        public function actionAjaxSaveApp(){
            $time_now = time();
            $create_user = Yii::app()->user->name;
            $title = isset($_POST["title"]) ? trim(strip_tags($_POST["title"])):"";
            $str_filename = isset($_POST["str_filename"]) ? trim(strip_tags($_POST["str_filename"])):"";
            $type_cat = isset($_POST["type_cat"]) ? intval($_POST["type_cat"]):"";
            $position = isset($_POST["position"]) ? $_POST["position"]:1000;
            $percent_wapmaster = isset($_POST["percent_wapmaster"]) ? $_POST["percent_wapmaster"]:"";
            $percent_partner = isset($_POST["percent_partner"]) ? $_POST["percent_partner"]:"";
            $picture = isset($_POST["picture"]) ? $_POST["picture"]:"";
            $introtext = isset($_POST["introtext"]) ? $_POST["introtext"]:"";
            $description = isset($_POST["description"]) ? $_POST["description"]:"";
            $isIos = isset($_POST["isIos"]) ? $_POST["isIos"]:0;
            $isAndroid = isset($_POST["isAndroid"]) ? $_POST["isAndroid"]:0;
            $isJava = isset($_POST["isJava"]) ? $_POST["isJava"]:0;
            $isRim = isset($_POST["isRim"]) ? $_POST["isRim"]:0;
            $isWindowMobi = isset($_POST["isWindowMobi"]) ? $_POST["isWindowMobi"]:0;
            $status = isset($_POST["status"]) ? intval($_POST["status"]):0;

            if($title ==""){
                echo "Tên danh mục không được để trống";exit;
            }
            if($percent_wapmaster ==""){
                echo "Phần trăm wapmaster không được để trống";exit;
            }
            if(!is_numeric($percent_wapmaster)){
                echo "Phần trăm wapmaster nhập phải là kiểu số";exit;
            }
            if($percent_partner ==""){
                echo "Phần trăm partner không được để trống";exit;
            }
            if(!is_numeric($percent_partner)){
                echo "Phần trăm partner nhập phải là kiểu số";exit;
            }
            if(!is_numeric($position)||$position=="" ){
                $position=1000;
            }
            if($type_cat == 0){
                echo "Chưa chọn loại danh mục";exit;
            }
            if(Common::generate_slug($title)==''){
                echo "Tên danh mục không hợp lệ";exit;
            }
            if($isIos == 0 && $isAndroid ==0&& $isJava ==0&& $isRim ==0&& $isWindowMobi ==0 ){
                echo "Bạn chưa chọn hệ điều hành";exit;
            }
            $check = AApp::checkDuplicate(Common::generate_slug($title));
            if(!empty($check)){
                echo "Dữ liệu bị trùng";exit;
            }
            $data = array(
            "type"=>array("value"=>$type_cat,"type"=>1),
            "title"=>array("value"=>$title,"type"=>2),
            "alias"=>array("value"=>Common::generate_slug($title),"type"=>2),
            "picture"=>array("value"=>$picture,"type"=>2),
            "introtext"=>array("value"=>$introtext,"type"=>2),
            "description"=>array("value"=>$description,"type"=>2),
            "isIos"=>array("value"=>$isIos,"type"=>1),
            "isAndroid"=>array("value"=>$isAndroid,"type"=>1),
            "isJava"=>array("value"=>$isJava,"type"=>1),
            "isRim"=>array("value"=>$isRim,"type"=>1),
            "isWindowMobi"=>array("value"=>$isWindowMobi,"type"=>1),
            "percent_wapmaster"=>array("value"=>$percent_wapmaster,"type"=>1),
            "percent_partner"=>array("value"=>$percent_partner,"type"=>1),
            "status"=>array("value"=>$status,"type"=>1),
            "position"=>array("value"=>$position,"type"=>1),
            "create_date"=>array("value"=>$time_now,"type"=>1),
            "create_user"=>array("value"=>$create_user,"type"=>2)
            );
            $table = "c_app";
            $update=AApp::updateOrderOtherApp($position);
            $last_id = CommonDB::insertRow($table,$data);
            if($last_id >0){
                echo $last_id;exit();
            }
        }
        public function actionAjaxSaveAppFile(){

            $time_now = time();
            $appId = isset($_POST["appId"])? trim(strip_tags($_POST['appId'])) :0;
            $str_filename = isset($_POST["str_filename"])? trim(strip_tags($_POST['str_filename'])) :"";
            $str_filename = Common::remove_duplicate(ltrim(str_replace(";",",",$str_filename),","));  
            $str_filename = ltrim($str_filename,";");
            if(empty($str_filename)){
                echo " Bạn chưa upload file";die;
            } 
            if($appId==0){ 
                echo "<p style='color:red'>- Bạn chưa tạo thông tin app</p>";exit;
            }
            $arr=array();
            $arr=explode(";",$str_filename);
            foreach($arr as $key =>$value){
                $arr_detail_file = explode("-",$value);
                $data_file = array(
                "appId"=>array("value"=>$appId,"type"=>1),
                "filename"=>array("value"=>$arr_detail_file[0],"type"=>2),
                "extension"=>array("value"=>$arr_detail_file[1],"type"=>2),
                "filesize"=>array("value"=>$arr_detail_file[2],"type"=>2),
                "status"=>array("value"=>1,"type"=>1),
                "create_date"=>array("value"=>$time_now,"type"=>1),
                );
                $table = "c_app_file";
                $last_id_file = CommonDB::insertRow($table,$data_file);
            }
            if($last_id_file >0 ){
                $file_name = AApp::getFilesByAppId($appId);
                $this->renderPartial("ajaxTableDetail",array("file_name"=>$file_name));
            }
        }
        public function actionAjaxUpdateApp(){
            $time_now = time();
            $modify_user = Yii::app()->user->name;
            $id = isset($_POST["id"]) ? intval($_POST["id"]):0;
            $title = isset($_POST["title"]) ? trim(strip_tags($_POST["title"])):"";
            $str_filename = isset($_POST["str_filename"]) ? trim(strip_tags($_POST["str_filename"])):"";
            $type_cat = isset($_POST["type_cat"]) ? intval($_POST["type_cat"]):0;
            $position = isset($_POST["position"]) ? $_POST["position"]:1000;
            $percent_wapmaster = isset($_POST["percent_wapmaster"]) ? $_POST["percent_wapmaster"]:"";
            $percent_partner = isset($_POST["percent_partner"]) ? $_POST["percent_partner"]:"";
            $picture = isset($_POST["picture"]) ? $_POST["picture"]:"";
            $introtext = isset($_POST["introtext"]) ? $_POST["introtext"]:"";
            $description = isset($_POST["description"]) ? $_POST["description"]:"";
            $isIos = isset($_POST["isIos"]) ? $_POST["isIos"]:0;
            $isAndroid = isset($_POST["isAndroid"]) ? $_POST["isAndroid"]:0;
            $isJava = isset($_POST["isJava"]) ? $_POST["isJava"]:0;
            $isRim = isset($_POST["isRim"]) ? $_POST["isRim"]:0;
            $isWindowMobi = isset($_POST["isWindowMobi"]) ? $_POST["isWindowMobi"]:0;
            $status = isset($_POST["status"]) ? intval($_POST["status"]):0;
            
            if($title ==""){
                echo "Tên danh mục không được để trống";exit;
            }
            if($percent_wapmaster ==""){
                echo "Phần trăm wapmaster không được để trống";exit;
            }
            if(!is_numeric($percent_wapmaster)){
                echo "Phần trăm wapmaster nhập phải là kiểu số";exit;
            }
            if($percent_partner ==""){
                echo "Phần trăm partner không được để trống";exit;
            }
            if(!is_numeric($percent_partner)){
                echo "Phần trăm partner nhập phải là kiểu số";exit;
            }
            if(!is_numeric($position)||$position=="" ){
                $position=1000;
            }
            if($type_cat == 0){
                echo "Chưa chọn loại danh mục";exit;
            }
            if(Common::generate_slug($title)==''){
                echo "Tên danh mục không hợp lệ";exit;
            }
            if($isIos == 0 && $isAndroid ==0&& $isJava ==0&& $isRim ==0&& $isWindowMobi ==0 ){
                echo "Bạn chưa chọn hệ điều hành";exit;
            }
            
            $update=AApp::updateOrderOtherApp($position);
            $update=AApp::updateOrderApp($id,$position);
           
            $data = array(
            "id"=>array("value"=>$id,"type"=>1),
            "title"=>array("value"=>$title,"type"=>2),
            "alias"=>array("value"=>Common::generate_slug($title),"type"=>2),
            "picture"=>array("value"=>$picture,"type"=>2),
            "introtext"=>array("value"=>$introtext,"type"=>2),
            "description"=>array("value"=>$description,"type"=>2),
            "isIos"=>array("value"=>$isIos,"type"=>1),
            "isAndroid"=>array("value"=>$isAndroid,"type"=>1),
            "isJava"=>array("value"=>$isJava,"type"=>1),
            "isRim"=>array("value"=>$isRim,"type"=>1),
            "isWindowMobi"=>array("value"=>$isWindowMobi,"type"=>1),
            "percent_wapmaster"=>array("value"=>$percent_wapmaster,"type"=>1),
            "percent_partner"=>array("value"=>$percent_partner,"type"=>1),
            "status"=>array("value"=>$status,"type"=>1),
            "position"=>array("value"=>$position,"type"=>1),
            "update_date"=>array("value"=>$time_now,"type"=>1),
            "update_user"=>array("value"=>$modify_user,"type"=>2)
            );
            $table = "c_app";
            $last_id = CommonDB::updateRow($table,$data,array("id"));
            if($last_id >0){
                echo 1;exit();
            }
        }
        public function actionEdit(){
            $id = isset($_GET["id"]) ? intval($_GET["id"]):0;
            $data = AApp::getDataById($id);
            $file_name = AApp::getFilesByAppId($data['id']);
            $this->breadcrumbs[] = array('name'=>'Sửa App '.$data["title"],'link'=>'#','class'=>'active');
            if($data){
                $this->render("edit",array("data"=>$data,"file_name"=>$file_name));
            }
        }
        public function actionAjaxQuickUpdate(){
            $status = isset($_POST["status"]) ? intval($_POST["status"]):0;
            $id = isset($_POST["id"]) ? intval($_POST["id"]):0;
            $data = array(
            "status"=>array("value"=>$status,"type"=>1),
            "id"=>array("value"=>$id,"type"=>1)
            );
            $table = "c_app";
            $result = CommonDB::updateRow($table,$data,array("id"));
            if($result >0){
                echo 1;exit();
            }else{
                echo "Chưa thay đổi dữ liệu";
            }
        }
        public function actionAjaxDelete(){
            $time_now = time();
            $id = isset($_POST["id"]) ? intval($_POST["id"]):0;
            if($id >0){
                $table  = "c_app";
                $result = CommonDB::deleteRow($table,array("id"=>$id));
                if($result >0){
                    echo 1;exit();
                }else{
                    echo "Chưa thay đổi dữ liệu";
                }
            }
        }
        public function actionAjaxDeleteAppFile(){
            $time_now = time();
            $id = isset($_POST["id"]) ? intval($_POST["id"]):0;
            $appId = isset($_POST["appId"]) ? intval($_POST["appId"]):0;
                        
            $table = "c_app_file";
            $result = CommonDB::deleteRow($table,array("id"=>$id));
            if($result >0){
                $file_name = AApp::getFilesByAppId($appId);
                $this->renderPartial("ajaxTableDetail",array("file_name"=>$file_name));
            }
        }
    }
?>